package com.fuhao.simpleQueue;

import com.fuhao.utils.RabbitUtils;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

/**
 *  P-----Q------c
 * rabbit模型之简单模式：
 *          直接发送消息到队列（其实仍然是发送到默认的exchange中）
 * @author zhang
 */
public class product {
    public static void main(String[] args) throws IOException, TimeoutException {
        //1.获取连接
        Connection connection = RabbitUtils.getConnection();

        //2.创建通道
        Channel channel = connection.createChannel();

        //3.创建队列
        channel.queueDeclare("simple_queue",//队列名称
                            true,//是否持久化
                            false,//是否独占通道，true的话其他队列将无法消费该队列信息
                            false,//队列不再用时候是否自动删除
                            null);//其他的参数

        //发布消息
        String msg = "simple queue";
        //第一个参数：exchange路由器（""使用默认路由器），第二个参数：队列名称，第三个参数：配置，第四个参数：消息内容
        channel.basicPublish("","simple_queue",null,msg.getBytes());
        System.out.println("发布消息 " + msg);

        //关闭连接
        channel.close();
        connection.close();
    }
}
